package com.jiangyao.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jiangyao.model.dto.backend.LecturerDTO;
import com.jiangyao.model.dto.backend.LecturerListPageDTO;
import com.jiangyao.model.entity.Lecturer;
import com.jiangyao.model.vo.backend.LecturerVO;

import java.util.List;

/**
 * <p>
 * 讲师 服务类
 * </p>
 *
 * @author yangyongchuan
 * @since 2020-08-18
 */
public interface LecturerService extends IService<Lecturer> {

	/**
	 * 获取讲师列表
	 *
	 * @param listPageDTO 列表DTO
	 * @return 结果
	 */
	Page<Lecturer> getListPage(LecturerListPageDTO listPageDTO);

	/**
	 * 增加讲师
	 *
	 * @param lecturerDTO 增加DTO
	 * @return 结果
	 */
	void add(LecturerDTO lecturerDTO);

	/**
	 * 编辑讲师
	 *
	 * @param lecturerDTO 编辑DTO
	 */
	void edit(LecturerDTO lecturerDTO);

	/**
	 * 获取讲师详情
	 *
	 * @param lecturerDTO 请求DTO
	 * @return 结果
	 */
	LecturerVO getDetail(LecturerDTO lecturerDTO);

	/**
	 * 编辑讲师状态（启用、禁用）
	 *
	 * @param lecturerDTO 编辑DTO
	 */
	void editStatus(LecturerDTO lecturerDTO);

	/**
	 * 根据名称检索讲师（最多返回50）
	 *
	 * @param lecturerDTO DTO
	 * @return 结果
	 */
	List<Lecturer> listForSelect(LecturerDTO lecturerDTO);
}
